Fabrication, distribution, and integrated order processing system

ABSTRACT

An order workflow system integrated with a fabrication/distribution system for managing workflow order. The system can receive a selection of a job number and a work order number and generate selectable line items based on the work order number. Selected line items associated with the work order type can be processed and an order workflow can be generated at an order queue process. The selected line items can be interfaced with a BIM database to identify the selected line items, at a spooling sub-queue process, and generate a control number for each line item. The line items can then be interfaced with an ERP module. Inventory data items can be generated from the selected line items and the inventory data items interfaced with an inventory API of the ERP module. The order workflow can be further processed in a similar queued and integrated manner with a fabrication/distribution system.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/562,265, filed Sep. 22, 2017, entitled “System and Method forManaging Workflow Orders,” the entire contents of which are hereby fullyincorporated herein by reference for all purposes.

TECHNICAL FIELD

The present disclosure relates generally to fabrication and distributionsystems and, more specifically, with fabrication and distributionsystems and order processing systems integrated therewith.

BACKGROUND

Fabrication and distribution facilities for fabricating, distributing,and installing fabricated systems (e.g. metal fabrication for a heating,ventilation, and air conditioning (HVAC) systems; piping fabrication fora drainage system; electrical fabrication; or any relevant skilled tradework, such as fire systems, irrigation systems, assembly work, etc.)used in construction projects are often performed by skilled tradesmanand are often performed in an ad-hoc fashion. Meaning, the actualfabrication process is performed without an overseer or, rather, acentralized overseer that can coordinate fabrication and distribution ofprocesses and systems for a construction project. Although thetraditional practice may be acceptable under limited circumstance wheresmall scale fabrication can be performed in an effective manner withoutsuch oversight, it is often the case that construction projects are of ascale that may require such oversight. This lack of centralizedmanagement and oversight can affect the quality of the productfabricated, the time in which the product can be fabricated, and thecost of the fabrication. As such, there is a need for controls andprocesses that can better manage fabrication and distribution offabricated systems used in construction and other industrial projects.

SUMMARY

In a first aspect, the present disclosure is directed to a fabrication,distribution, and integrated work order processing system comprising acomputer-usable non-transitory storage resource and a processorcommunicatively coupled to the storage resource, wherein the processorexecutes application code instructions stored in the storage resource.The executed application codes cause the system to receive a selectionof a job number, work order number, and a delivery date; generateselectable line items based on the work order number; process selectedline items associated with the work order type and generate, inresponse, an order workflow, at an order queue process; interface with abuilding information modeling/management (BIM) database to identify theselected line items, at a spooling sub-queue process and generate, inresponse, a control number for each line item; and interface informationassociated with selected line items with an Enterprise Resource Planning(ERP) module.

The system can also generate inventory data items from the selectableline items, at the spooling sub-process queue; and interface theinventory data items associated with the line items with an inventoryapplication protocol interface of the ERP module.

The system can also determine a fabrication facility system according towork order number, at a routing sub-process queue. The system canfurther generate purchasing data items from the selectable line items,at the routing sub-process queue; and interface purchasing informationassociated with line items with a purchasing application protocolinterface of the ERP module. The system can also create a schedule forthe order workflow based on the delivery date, at a schedulingsub-process queue; determine at least one address associated with afabrication unit according to the job number; and route the orderworkflow to the address. The system can further receive at least onebeginning time entry and an ending time entry for work spent on afabrication process, at the fabrication sub-process queue; estimate costof the fabrication process associated with the order workflow, based atleast in part on amount of time spent on the fabrication process; andinterface the estimated cost of the fabrication process to a job costapplication protocol interface of the ERP module.

The system can further generate a status report of an order workflow;determine a plurality of recipient email addresses based on job number;and route status report to the plurality of recipients.

In a second aspect, the present disclosure is directed to a method ofintegrating an order workflow system with a fabrication and distributionsystem for managing workflow order data. The method comprising receivinga selection of a job number, work order number, and a delivery date;generating selectable line items based on the work order number;processing selected line items associated with the work order type andgenerate, in response, an order workflow, at an order queue process;interfacing with a BIM database to identify the selected line items, ata spooling sub-queue process and generate, in response, a control numberfor each line item; and interfacing information associated with selectedline items with an ERP module.

The method further comprising generating inventory data items from theselectable line items, at the spooling sub-process queue; andinterfacing the inventory data items associated with the line items withan inventory application protocol interface of the ERP module.

The method further comprising determining a fabrication facility systemaccording to work order type, at a routing sub-process queue; generatingpurchasing data items from the selectable line items, at the routingsub-process queue; and interfacing purchasing information associatedwith line items with a purchasing application protocol interface of theERP module.

The method further comprising creating a schedule for the order workflowbased on the delivery date, at a scheduling sub-process queue;determining at least one address associated with a fabrication unitaccording to the job number; routing the order workflow to the address;receiving at least one beginning time entry and an ending time entry forwork spent on a fabrication process, at the fabrication sub-processqueue; estimating cost of the fabrication process associated with theorder workflow based at least in part on amount of time spent on afabrication process; and interfacing the estimated cost of thefabrication process to a job cost application protocol interface of theERP module.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the disclosure can be better understood with reference to thefollowing drawings. The components in the drawings are not necessarilyto scale, emphasis instead being placed upon clearly illustrating theprinciples of the present disclosure. Moreover, in the drawings, likereference numerals designate corresponding parts throughout the severalviews, and in which:

FIG. 1 is a block diagram of fabrication/distribution system and anintegrated order processing system for processing orders used to managefabrication and distribution of component parts for use in constructionor industrial projects, according to certain example embodiments;

FIG. 2 is an example work order with an assigned job number (or servicecall), workflow order number, and line items, according to certainexample embodiments;

FIG. 3 is another example work order with an assigned job number,workflow order number, and line items, according to certain exampleembodiments;

FIGS. 4A-4C are illustrations of various User Interfaces (UIs) forcreating work orders, according to certain example embodiments;

FIG. 5 is an illustration of a flow diagram for processing fabrication,distribution, delivery, and installation queues and interfaces for workorder data relating to fabrication, distribution, delivery, andinstallation of either metal or piping fabrication, according to certainexample embodiments;

FIG. 6 is an illustration of a fabrication and distribution processingalgorithm for processing queues and sub-queues associated with metalfabrication order data, according to certain example embodiments;

FIG. 7 is an illustration of a subset with additional functionality ofthe fabrication and distribution processing algorithm of FIG. 6 forprocessing queues and sub-queues associated with cam spooling orderdata, according to certain example embodiments;

FIG. 8 is an illustration of another subset with additionalfunctionality of the fabrication and distribution processing algorithmof FIG. 6 for processing queues and sub-queues associated with camspooling order data, according to certain example embodiments;

FIG. 9 is an illustration of a fabrication and distribution processingalgorithm for processing queues and sub-queues associated with pipingfabrication order data, according to certain example embodiments;

FIG. 10 is an illustration of a subset with additional functionality ofthe fabrication and distribution processing algorithm of FIG. 9 forprocessing queues and sub-queues associated with a piping fabricationorder, according to certain example embodiments;

FIG. 11 is an illustration of another subset with additionalfunctionality of the fabrication and distribution processing algorithmFIG. 9 for processing queues and sub-queues associated with a pipingfabrication order, according to certain example embodiments;

FIG. 12 is an illustration of another subset with additionalfunctionality of the fabrication and distribution processing algorithmFIG. 9 for processing queues and sub-queues associated with a pipingfabrication order, according to certain example embodiments;

FIG. 13 is a block diagram of a distribution plan algorithm, accordingto certain example embodiments;

FIG. 14 is a block diagram of a purchase order request algorithm for aplumbing/piping fabrication order and a sheet metal fabrication order,according to certain example embodiments;

FIG. 15 is an illustration of a data structure defining various aspectsof a fabrication and distribution process, according to certain exampleembodiments;

FIGS. 16-26 are illustrations of various User Interfaces (UI) fordisplaying, accessing, and controlling the data structure of FIG. 15;and

FIG. 27 is a block diagram depicting a computing machine and systemapplications, in accordance to certain example embodiments.

DETAILED DESCRIPTION

While the making and using of various embodiments of the presentdisclosure are discussed in detail below, it should be appreciated thatthe present disclosure provides many applicable inventive concepts,which can be embodied in a wide variety of specific contexts. Thespecific embodiments discussed herein are merely illustrative and do notdelimit the scope of the present disclosure. In the interest of clarity,not all features of an actual implementation may be described in thepresent disclosure. It will of course be appreciated that in thedevelopment of any such actual embodiment, numerousimplementation-specific decisions must be made to achieve thedeveloper's specific goals, such as compliance with system-related andbusiness-related constraints, which will vary from one implementation toanother. Moreover, it will be appreciated that such a development effortmight be complex and time-consuming but would be a routine undertakingfor those of ordinary skill in the art having the benefit of thisdisclosure.

The accurate use of construction material and labor cost management in aconstruction project is essential to contractors operating aconstruction business. Indeed, accurately tracking, or more importantlyforecasting, costs are paramount for any contractor. Labor costs can bean enormous business risk for a contractor. If these costs can bemanaged with a large degree of accuracy, the contractor stands a verygood chance of efficiently executing the work and, therefore, maximizingprofit margins.

The workflow system, commercially referred to as the Brandt® OrderWorkflow System (BOWS), integrated with fabrication, distribution, andinstallation systems provides for defining tasks of work (work order orservice calls), as a vehicle to track all aspects of the effort tocomplete the task—from the estimate to commissioning and final billing.The workflow system can track costs of material inventory, materialprocurement, BIM (spooling or CAM) labor costs, prefabrication costs,delivery costs, logistics planning, demand and capacity load balancing,field handling and installation costs. By tracking these work order orservice call costs, the system provides near real-time feedback of laborefficiencies based on work order task quantity completion. The systemprovides the tracked electronic time to ERP (Enterprise ResourcePlanning—accounting oriented) for quick processing of weekly payroll andprovides tracking of inventory transfers and purchase orders.

Considering all the components involved, from estimating the varioussystems and materials on a construction drawing to a completedinstallation, there can be hundreds of thousands of pieces that mustcome together from multiple sources. The system is an automated processof work flow management which touches all areas of a company, such as acontractor or subcontractor, with a holistic focus toward BIM,estimating, and ERP round trip process model. It automates existing datawhile communicating between all Brandt® programs (Autodesk®, Microsoft®DynamicsGP & Key2Act Signature, Fast Est®., Fabrication Suite®,Navisworks®, and BTime) leveraging seamless communication between allthe systems. One of the unique aspects of the workflow system taughtherein is that it allows users to touch any aspect of the work orderprocess, e.g. to accurately record time associated with the operationsof an order to fabricate, distribute, and install a system component.This provides for accurate near real-time earned productionefficiencies.

The workflow system assists with all aspects of a work order. A workorder can be any order placed with one of many fabrication shops or evena task of work to be installed on a job. It turns the complexity oftypical communications into a seamless standardized interface ofcommunication both internally and externally. The system is an automatedprocess of work flow management which touches various areas with aholistic focus toward BIM, estimating, and ERP round-trip process model.Simply put, the system is where work flow is managed.

FIG. 1 is an illustration of a fabrication/distribution system and anintegrated order processing system for processing orders used to managefabrication and distribution of component parts for use in constructionprojects, according to certain example embodiments, denoted generally as10. The system 10 comprises an order workflow system 12, an ordermanagement system 14, order workflow network services 16, shop/fieldclient devices 1-N, and an Enterprise Resource Planning (ERP) system 18.The system 10 is functional to process job numbers, work order numbers,and line item numbers for a construction related work orders. The systemis further functional to integrate fabrication and distribution systemrelated data with the ERP system 18 and ERP system related data with thefabrication and distribution system. The structure of the work orderdata allows for the facilitation and improvement in the fabrication anddistribution of materials used in construction projects by moreeffectively monitoring and managing the auditing, accounting, andreporting of material consumption and deficiencies, purchasing,packaging, shipping, and estimated and real costs.

The order workflow system 12 includes a work order data interface forreceiving and processing work orders from the order management system14. The work order data received from the order management system 14includes pre-defined, formatted data structures identifying job numberand a plurality of control numbers associated with the job number. Eachcontrol number comprises a line item number combined with a job number.The control number can identify at least one inventory item, anassociated process control, or data metric used in a particularfabrication or distribution process. The line item number can beassociated with many different types of process values as will becomemore apparent as discussion of the system continues.

The pre-defined, formatted data structures provides for unification ofdifferent data structures from different 3^(rd) party applications intoa standardized or otherwise common format for integration with afabrication and distribution system that can be used to enhancefabrication and distribution of products used in construction projects.The system 10 can process and translate data communications to and fromfabrication and distribution systems and 3^(rd) party applications, suchas the aforementioned Brandt® programs. The system 10 can furthergenerate new data items that can be communicated with the 3^(rd) partyapplications. The system can further automatically correlate 3^(rd)party application data items with data items generated from thefabrication and distribution system. The data items in question willbecome more apparent as discussion of the system 10 progresses.

The order management system 14 includes a Building InformationManagement (BIM) interface module for receiving, processing, andgenerating line items and associated control numbers based on a job workorder number associated with a particular job number. For example, a jobassociated with a plumping and piping fabrication process can result inthe generation of a specific job number, at least one work order number,and a line item associated with each work order number. The ordermanagement system 14 can receive a job number and generate job workorder numbers and line items based on items from a BIM database, an ERPsystem, and user input. It should be understood that the line items canbe associated with the job number and the job work order number or thejob number. Furthermore, line items can be associated at a fabricationsystem level or systems level and distribution system or systems level.The order management system 14 can receive selected line item data and,in response, generate an electronic work order with the necessarypre-defined, formatted data structures identifying the job number andcontrol numbers and send or otherwise interface the work order to theorder workflow system 12 for further processing and management.

The network services 16 can include a product catalog module 20, areporting/communications services module 22, and estimating servicesmodule 24, a barcode reader module 26, and a storage/file sharing module28. The product catalog module 20 includes product identifiers relevantto inventory items used in the fabrication process of a constructionproject, e.g. raw materials used in an HVAC, plumbing, or electricalconstruction projects. The reporting/communication services module 22can include a time reporting interface module and afabrication/distribution progress reporting module. The services module22 can be a push service using a Mail Delivery Agent (MDA) services,such as IMAP, or can be a network file sharing services either of whichcan provide services using a real-time or a time triggered service. Theestimating services module 24 can in real-time monitor and estimatefabrication costs based on materials used or estimated to be used, timeentry for labor, and shipping/transportation costs and interface thecosts with the ERP system 18 and provide cost data to requesting ordesignated parties. The distribution/shipping barcode reader module caninterface with barcode scanners for receiving and processing shippingcontainer identification data and product identification data. The datacan be used to manage shipping fleets and inventory control. Thestorage/file sharing module 28 feature can provide access to stored datarelevant to a construction project and/or render the stored data toclient devices or a select set of client devices. All data received andprocessed by network services can, at least in part, be processed andcontrolled by the order workflow system 12.

The ERP system 18 can include an inventory management module 30, ashipping fleet cost module 32, a service management module 34, a payrollprocessing module 36, and a purchasing module 38. The ERP modules caninterface with various other system components within the system 10 andprocess, store, and communicate relevant information associated with themodule, as will become more apparent as discussion of the system 10continues. For example, the inventory management module 30 can send,receive, and store inventory related data items that can be interfacedfrom shop/field devices 1-N, from network services 16, order workflowsystem 12, order management system 14, and other ERP system components.The inventory management module 30 can send, receive, and storeinventory related data items at a general enterprise level and at a jobspecific level. Job cost module 32 can send, receive, and store job costrelated data that can be interfaced from shop/field devices 1-N, fromnetwork services 16, order workflow system 12, order management system14, and other ERP system components. The job cost data can be related toa specific fabrication and distribution process and more granularly tospecific functions within the process. Payroll processing module 36 cansend, receive, and store payroll related data, such as time entry dataentered by various parties involved in the fabrication and distributionprocess. Purchasing module 30 can also send, receive, and store purchaseorder data by various parties involved in the fabrication anddistribution process.

The shop/field client devices 1-N can be designed and configured tointerface with the order workflow system 12 and other system componentsthrough a system server 30. The shop/filed client devices 1-N can beconfigured to send and receive fabrication and distribution messagesover a wired or wireless Internet and intranet connection using secureand unsecure communication paths. The fabrication and distributionmessages can include routed order data, time reporting data, bar codescanning data, reporting data, purchasing data, and inventory controldata.

The fabrication and distribution messages can be structured to include arecipient identifier, e.g. an email address or an applicationidentifier, and unformatted data and/or formatted data structures, suchas meta data and associated identifiers, that can be used by anindividual or an application to further facilitate and improve thefabrication/distribution process or the order workflow system 12 toprocess and further cause interaction and processing between othersystem components within the workflow system 10 to further facilitateand improve the fabrication/distribution process.

The system components of the system 10 can communicate over theInternet, intranet, or through InterProcess Communications (IPC). Thecommunications can be performed over unsecure communication means and/orsecure communication means. The client systems and devices 1-N can becomputing systems operating in a fabrication/distribution facility aspart of the fabrication system or can be wireless mobile devicesoperating remotely in the field as a part of thefabrication/distribution system. Regardless of which, the client devices1-N are configured to interface with the server system 30 wherein theclient devices 1-N and the system server 30 can generate, send, andreceive communications that are authenticated and authorized forservices of the system 10 according to the at least one of the clientsystem, the client device, and the user of the device. In addition, thesystem 10 can be designed and configured to support Single Sign On (SSO)services. In other words, the order workflow system 12 can authenticateand authorize user access to a system service, all system services, or acombination of services based on the user and facilitate the seamlessauthorization to the service or services throughout a session.

The work orders generated by the order management system 14 can includea job number that identifies a particular fabrication and distributionprocess, e.g. relating to a mechanical fabrication process such as HVACfabrication or a piping fabrication process such as a drainage system.Associated with the job number can be a number of work order numbersassociated with fabrication, distribution, and services required forproject completion. Inventory line items associated with the job workorder number can identify materials required to fabricate an item for aconstruction project and materials needed for packaging and delivery ofa fabricated item. Other line items that can be associated with the jobor work order number can include, e.g., a project due date, projectcoordinators/managers, fabrication and distribution process metrics, andother miscellaneous items such as instructions. In an exampleembodiment, the work order can include a pre-defined, structuredidentifier identifying a fabrication process and the order managementsystem 14 can identify and link the identifier to a set of BIM databaseitems through the BIM database interface. Items selected from the setcan be used along with the structured identifier to generate the workorder data for processing and management by the order workflow system12.

As an example, the work order illustrated in FIG. 2 includes job number15-D023. The job number can be associated with metal fabrication for anew HVAC project. The job work order number 4397 can identity a specificjob associated with the fabrication process. The line items associatedtherewith can include loose materials, identified by line item number100, LP supply wrap, identified by line item number 101, MP supply wrap,identified by line item number 102, LP supply lined, identified by lineitem number 103, and outside air wrap, identified by line item number104. As a further example, the work order in FIG. 3 can include jobnumber 15-C123. The job number can be associated with a pipingfabrication for a new drainage system project. The work order number15704 can identify a specific job associated with the fabricationprocess. The line items associated therewith can include hangers,identified by line item number 301, CHW mains, identified by line itemnumber 302, CHW branch lines, identified by line item number 303, andHHW mains, identified by line item number 304. The line items in thisparticular case are inventory items that can be used in fabrication andpackaging. The work order, as being processed, can accumulate other lineitems relating the fabrication and distribution process, as will bediscussed in more detail shortly. In addition, the work order can alsocomprise a nested configuration wherein multiple job work order numberscan be included for a job number with each job work order numberincluding at least one line item. In either case, the number of lineitems associated with a job work order number can include a single lineitem or a plurality and the job numbers, work order numbers, andassociated line items can dictate a processing sequence and/or afabrication and distribution sequence.

The order management system 14 can generate the fabrication order dataand provide it to the order workflow system 12. The order workflowsystem 12 can process received work order data and provide the workorder data to an appropriate fabrication system or systems according tofabrication process type. The order data can be managed and processedusing process queues based on fabrication system data, network servicesdata, and ERP data. In other words, the work order data can be used tointegrate the fabrication and distribution system or systems withaccounting, auditing, and reporting tools in an organized, structuredmanner in order to facilitate and improve, i.e. make it more efficientand less expensive, the fabrication process.

Referring now to FIGS. 4A-4C, illustrated are User Interfaces (UI) forcreating work orders, according to certain example embodiments. In theexample embodiment, the UI interface includes a selectable lists link,shop time data link, jobs and projects link, reports link, and contactslink that are linked to associated data structures. The linkableinterfaces can be over an HTTP transport and the content HTML andJavaScript generated HTML based. The list link can provide a form thatallows for the creation of work orders for sheet metal and piping (PPG)work orders, as well as service work orders and shop to shop workorders. FIG. 4A illustrates a new work order form for creating a workorder for a sheet metal fabrication process or a piping and plumbingfabrication process. A requester can enter the job number and system canautomatically attached all cost codes to the job number. In other words,all cost cost recognized by ERP can be automatically mapped to the jobnumber. This provides a mechanism by which relevant line item data canbe easily mapped to appropriate cost structures. FIG. 4B illustrates awork order form for entering line item information about a sheet metalfabrication process. Although not exhaustive, the information items caninclude fabrication system, whether a CAM (Computer Aided Machining) isrequired, attached drawings, the due date, and other information. FIG.4C is a work order form for entering line item information about a sheetmetal fabrication process. Although not exhaustive, the informationitems can include job number, drawing attachments, order due date,overtime authorization, cost codes, CAM (specification and BIM ComputerAided Design (CAD) drawings) required, spooling (specification only)required, and inventory items.

Referring now to FIG. 5, illustrated is a flow diagram for processingfabrication and distribution queues and interfaces for work order datarelating to fabrication and distribution of either metal or pipingfabrication, according to certain example embodiments, denoted generallyas 50. The flow diagram 50 includes an order creation queue 52, a BIMqueue 54, and an ERP interface 56. The BIM queue 54 includes a cam,spool, approval, routing, scheduling, fabrication, and distributionsub-queues. Additional sub-queues thereto include delivery andinstallation. The ERP interface 56 includes a time tracking, payroll,purchase order, inventory, and vehicle fleet cost interfaces. The flowdiagram further includes a workflow management interface and a standardsinterface for MCAA/SMACNA (Mechanical Contractors Association ofAmerica/Sheet Metal and Air Conditioning Contractors' NationalAssociation) and NECA (National Electrical Contractors Association).

The order workflow system 12 monitors processing queue 52 for receivedfabrication order data and processes the fabrication order dataaccordingly. The fabrication order data can be designated as either acam spooling or simply a spooling order. The difference being that thecam spooling order includes drawing or drawings and specificationsgenerated from BIM computer aided design system and the spooling orderincludes specifications without a CAD drawing and, therefore, requiresapproval before fabrication. Dependent upon the type of order, theworkflow system 12 can process the order data in a pre-defined manner.In the case of order data defined as spooling, the workflow system 12receives and processes non-BIM related construction designspecifications and routes the design specifications to the approvalqueue. Upon approval of the product items, the workflow system 12 canimport from a BIM database over a BIM interface inventory line itemsrelated to the design specifications. The workflow system can also writethe inventory line items to the inventory management and purchase orderinterfaces 30, 38. In the case of order data defined as cam spooling,the workflow system 12 processes the attached drawing(s) andspecifications and interfaces with a BIM database over a BIM interfaceto access inventory line items associated with the drawing or drawings.The workflow system 12 can then write the inventory line items to theinventory and purchase order interfaces 30, 38.

The MCAA/SMACNA and NECA standards can be provided to or accessed by theapproval sub-queue to facilitate the approval process. The system 12 canprovide fabrication system's demand and capacity data to the routingsub-queue for use in determining to which fabrication system or systemsan order should be routed. Additionally, the system 12 can reportproduction metrics indicating how much product is actually being built.In addition, time tracking can be interfaced with the payroll interfacesthrough fabrication and distribution as well as the vehicle fleet cost.In addition, any data provided by or generated by the system 10 inresponse to a fabrication process associated with a work order can beassigned a control number associated with a job number of the workorder.

Referring now to FIG. 6, illustrated is a fabrication and distributionprocessing algorithm for processing queues and sub-queues associatedwith fabrication order data, according to certain example embodiments,denoted generally as 60. The algorithm 60 receives orders 62 atprocessing block 64 that either require a BIM CAD drawing or can beplaced without the BIM CAD drawing and queues the orders for furtherprocessing at the order queue process, block 66. If the order requires aBIM CAD drawing, the algorithm 60 continues at block 68 where the camspooling sub-queue processes the order data by interfacing with theBIM/CAD database 70 to identify and receive inventory line items. Atblock 68, the cam spooling sub-queue further processes the inventoryline items by interfacing the inventory line items with the inventoryand purchasing interface module 72, 74 of the ERP interface 56. If theorder data does not require a BIM CAD drawing, the order data isdirectly queued for routing at block 76.

At block 76, the routing sub-queue further processes the cam spoolingsub-queue data by determining a fabrication system for the order basedon order type and at least one of demand/capacity and productionmetrics. The routing queue can further receive a purchase order from thepurchasing interface module 74 The routing queue can further determineif the purchase order is consistent or inconsistent with the order dataand modify the order data by further interfacing with the BIM/CADdatabase 70. In other words, if vendor database 78 produces purchasingresults that includes different product type or types than originallyrequested, the order data can be updated to reflect as much. Inaddition, if there is a shortage of product, the shortage can beindicated and the order data updated to reflect as much or differentproduct items can be added. At block 80, the scheduling sub-queue canrender order data for a fabrication system based on a scheduling timeline determined by at least one of queued orders, demand and/orcapacity, and product metrics. At block 82, the fabrication sub-queueprocesses work order data and monitors and processes work order relateddata from field devices. The work order related data can includefabrication metric values, such as achieved milestones and status, timeentry data, and material consumption related to the fabricated item. Themetrics values can be interfaced with network services 16, metricalconsumption values can be interfaced with job cost database 84, and timeentry associated with fabrication can be interfaced with billinginterface 86. All, or at least part, of the data generated in responseto the packaging and distribution sub-queues can be assigned to a lineitem number and job number to create a control number.

Once fabrication is completed, fabrication sub-queue can queue the datafor processing at block 88. At block 88, packaging sub-queue can processorder data and associated order data by providing notification of thereceived order, receiving progress status notifications, receiving anumber and identification of fabrication item or items packaged, forexample from barcode scanner data, and time entry data. The order dataand associated order data can be interfaced with the billing interface86 and network services 16. The order data and associated packaging datacan be queued for processing at block 90. At block 90, fabricated itemsshipped to a construction site are monitored and tracked at adistribution queue. The status of the fabricated items or items can betracked and monitored until received at a job site. All, or at leastpart, of the data generated in response to the packaging anddistribution sub-queues can be assigned to a line item number and jobnumber to create a control number.

Referring now to FIG. 7, illustrated is subset with additionalfunctionality of the fabrication and distribution processing algorithm60 for processing queues and sub-queues associated with cam spoolingorder data, according to certain example embodiments, denoted generallyas 100. The algorithm 100 begins at block 66 where order data is queuedfor processing at order queue process. The order queue processdetermines if the order is an order that requires a BIM CAD generatedspecification and drawing or rather the order data can be processedwithout such. In the event that the order queue process determines thatthe order data requires a BIM CAD generated specification and drawing,the order data is queued for processing at block 68. If the order queueprocess determines that a BIM CAD generated specification and drawing isnot required, the order data is queued for processing at block 76. Atblock 68, the algorithm 100 can access and retrieve inventory items fromBIM/CAD database 70 and then queue the order data for processing atblock 76. At block 76, the algorithm 100 can also access and retrieveinventory items from BIM/CAD database 70. At block 76, if determined theavailable inventory from inventory interface module 72 does not satisfyorder data requirements, the routing sub-queue can alter the order datausing alternative inventory items from the BIM database 70. Anotification of the inventory shortage can be sent to the purchasinginterface 74 and to the routing sub-queue 76. The order data can then bequeued for processing at block 102. At block 102, project coordinatorscan clock-in and review the order data at coordinator clock-in queue.Time entry data associated with the clock-in's can be sent to thepayroll interface. The project coordinators can update order data withpurchase requests for pre-fabricated systems from other vendors. Theorder data can then be queued for processing at block 104 and 106. Atblock 104, the release to fab scheduling sub-queue can release the orderdata to fabrication scheduling 80 upon approval of all coordinators. Atblock 106, any purchase orders can also be released upon approval by thecoordinators. Additionally, the order data can be queued for furtherprocessing at block 90. At block 90, the distribution sub-queue canmonitor the status of a purchase order can provide status notifications.

Referring now to FIG. 8, illustrated is another subset of thefabrication and distribution processing algorithm 60 for processingqueues and sub-queues associated with cam spooling order data, accordingto certain example embodiments, denoted generally as 120. The algorithm120 begins at block 66 where order data released from coordinators isqueued for processing at the fabrication scheduling sub-queue, block 80.The fabrication scheduling sub-queue can queue the order data forprocessing at block 122 at the scheduled date. The release to shop floorsub-queue, block 122, can determine a fabrication facility or facilitiesbased on capacity and demand and queue the order data for processing bythe selected fabrication facility or facilities sub-queue. Thefabrication sub-queue can monitor progress from at least one work centersub-queue, block 124. The work center sub-queue can provide clock-in andclock-out data, block 126, associated with a control number or numbersand interface the time entry data with the ERP payroll interface 136.The distribution sub-queue, block 90, receives and processes order datafrom fabrication sub-queue and a purchase order for any bought outs atpurchase order delivery sub-queue, block 128. The distribution plan canbe defined, at least in part, by the control numbers of the order data,as will be discussed in more detail in reference to FIG. 13 and relateddescription.

Referring now to FIG. 9, illustrated is a fabrication and distributionprocessing algorithm for processing queues and sub-queues associatedwith fabrication order data, according to certain example embodiments,denoted generally as 140. The algorithm 140 receives orders 142 atprocessing block 144 that have either been approved for release or havenot been approved for release and queues the orders for processing atblock 146. At block 146, the order queue process queues the order datafor processing at block 148. At block 148, the spooling sub-queuedetermines if the order is approved for release or requires approval. Ifthe order is an order that requires approval, the spooling sub-queueimports inventory line items from BIM/CAD database 70, obtains productsidentifiers from product catalog 150, and queues the order data forfurther processing at block 152. At block 152, the field approvalsub-queue makes the order data available to project coordinators forapproval. If the order is an order ready to be placed, the spoolingsub-queue queues the order data for processing at the field approvalsub-queue where the release authorization is recorded and the order datais queued at block 154 for further processing. At block 154, the routingsub-queue sends a purchase order request over the ERP interface,determines a fabrication facility or facilities based on capacity anddemand, and schedules the order for fabrication based on the order data.The routing sub-queue then queues the data for processing at block 156.At block 156, the scheduling sub-queue queues the data for fabricationat block 158 at the designated date. At block 158, the fabricationsub-queue can receive and process fabrication input associated with thefabrication process and interface the input to the ERP system 18 andnetwork services 16. The fabrication sub-queue can queue the order datafor further processing at block 160. At block 160, the Quality Control(QC) sub-queue can make the order data available to QC experts andrelease the order data to block 162 upon approval by the QC experts. Atblock 162, the packing and distribution sub-queues process and manageorder data related to the packing and distribution process. The packingand distribution process will be discussed in more detail in referenceto FIG. 13 and the related description.

Referring now to FIG. 10, illustrated is a subset with additionalfunctionality of the fabrication and distribution processing algorithm140 for processing queues and sub-queues associated with a pipingfabrication order, according to certain example embodiments, denotedgenerally as 180. The algorithm 180 continues at the order queueprocess, block 146. At block 146, the order queue process queues theorder data for processing at block 148. At block 148, the spoolingsub-queue process determines if the order data requires field approvalbefore releasing to fabrication. If approval is required, the order datais queued at block 182. At block 182, the create spooling ordersub-queue queues the order data for creation of spooling data at block184. At block 184, the import BIM data sub-queue imports inventory lineitems from the BIM/CAD database 70 based on the order data and queuesthe order data for further processing at block 186. At block 186, thematerial specification validation sub-queue imports productspecification data from the product catalog 20. The validation sub-queuevalidates the production specification with the inventory line items todetermine if the production specification meets the specificationrequirements of the inventory line items and order data. If there arevalidation errors, either the line items are updated or thespecifications from the catalogue are updated. If there are novalidation errors, the order data is released for field approval atblock 154.

Referring now to FIG. 11, illustrated is a subset with additionalfunctionality of the fabrication and distribution processing algorithm140 for processing queues and sub-queues associated with a pipingfabrication order, according to certain example embodiments, denotedgenerally as 200. The algorithm 180 continues at the order queueprocess, block 146. At block 146, the order queue process queues theorder data for further processing at block 152 in response to order databeing released from spooling. At block 152, the field approval queuerecords the approval and queues the order data for further processing atblock 202. At block 202, the routing and BOM check sub-queue determinesif modifications to the inventory line items has been requested. Ifmodifications have been requested, the order data is queued for furtherprocessing at block 204. At block 204, the BOM modification sub-queueupdates the order data with the requested change by access andretrieving the relevant inventory line items from the product catalog20. If there are no modification requests or the changes have been made,the order data is queued for further processing at block 206. At block206, the release to fabrication scheduling sub-queue releases the orderdata to fabrication scheduling, block 156, and to block 208 for furtherprocessing. At block 208, the purchase order request released sub-queueprocesses the order data and generates a purchase order for interfacingwith the appropriate interface of the ERP system 18.

Referring now to FIG. 12, illustrated is a subset with additionalfunctionality of the fabrication and distribution processing algorithm140 for processing queues and sub-queues associated with a pipingfabrication order, according to certain example embodiments, denotedgenerally as 220. The algorithm 220 continues at the order queueprocess, block 146. At block 146, the order queue process queues theorder data for further processing at block 156 in response to order databeing released from the routing sub-queue. At block 156, the fabricationscheduling sub-queue schedules fabrication according to the order dataand queues the data for further processing at block 222. At block 222,the release to shop floor sub-queue queues the data for furtherprocessing at block 158 in response to the scheduling date. At block158, the fabrication sub-queue can monitor work center sub-queues, block224, 226, to determine work load balance based on demand and capacity.The fabrication sub-queue can also monitor the delivery/handling of BOMsub-queue, block 228, for additional instructions for handling thedelivery of the order data. Based on the work load and the additionalinstructions, the fabrication sub-queue can assign the order data to atleast one work center. The work center sub-queues 224, 226 can monitorfabrication progress, receive time entry data, and queue the fabricationstatus with the fabrication sub-queue for further processing andinterface time entry data with the payroll processing module 36 of theERP system 18. Upon completion of the fabrication process, thefabrication sub-queue can queue the order data for further processing atblock, 90. At block 90, the distribution sub-queue processes the orderdata to determine a distribution plan. The details of such will bediscussed in further detail in reference to FIG. 13 and the relevantdescription.

Referring now to FIG. 13, illustrated is a block diagram of adistribution plan algorithm, according to certain example embodiments,denoted generally as 300. The algorithm 300 begins at block 302. Atblock 302, the distribution plan queue processes order data anddetermines a vehicle type, vehicle, shipping container, and a driverbased on capacity, demand, and order data. The distribution plan queuecan process order data to determine a packing center and assign theorder data for packing. The order data can then be queued for furtherprocessing at block 304. At block 304, the packing sub-queue monitorsfor container identifiers from block 306 and assigned vehicles fromvehicle sub-queue, block 308. At block 306, scan container sub-queueprocesses container identifiers received from at the assigned containersub-queue, block 308 and queues the data for further processing at block304. Once the container is loaded and a load number assigned, thepacking sub-queue queues the order data for further processing at block308. At block 312, the distribution sub-queue receives and processesdata associated with order distribution. The distribution sub-queuereceives driver clock-in data from the driver and interfaces theclock-in data to the pay-roll processing interface 36 from the ERPsystem 18 and queues the order data for further processing at block 314.At block 314, the driver delivers load sub-queue receives notificationof when the driver delivers a load and queues the order data for furtherprocessing at block 316. At block 316, the driver returns the vehiclesub-queue receives notification when the driver returns the vehicle andclocks-out. The clock-out data can be interfaced with the payrollinterface 36 of the ERP system 18.

Referring now to FIG. 14, illustrated is a block diagram of a purchaseorder request algorithm, according to certain example embodiments, for aplumbing/piping fabrication order and a sheet metal fabrication order,denoted generally as 350. The algorithm 350 begins at block 146. Atblock 146, the order queue process determines order data that includes aPurchase Order Request (POR) or requests from the routing sub-queues andthe coordinators clock-in to CN's sub-queue and queues the data forfurther processing at either block 352 or 354, depending on the ordertype. At block 352, the plumping/piping shop POR sub-queue processesrelevant order data and queues the order data for further processing atblock 356. At block 354, the sheet metal shop POR sub-queue processesrelevant order data and queues the order data for further processing atblock 358. At block 356, the plumbing/piping POR released to purchasingsub-queue queues the POR for processing at block 360. At block 358, thesheet metal POR for any bought-outs sub-queue queues the POR for furtherprocessing at block 360. At block 360, the push PO # to control numbersub-queue receives created Purchase Orders (PO) from create a postsub-queue processes 362, 364, and queues relevant PO's for processing atblock 356, 358. At block 356, the plumbing/piping POR released topurchasing sub-queue queues received PO's for further processing atpurchasing sub-queue, block 74. The purchasing sub-queue can then makechanges, if necessary, according to the product catalog and release thePO to the purchasing interface 38 of the ERP system 18. At block 358,the sheet metal POR for any bought-outs sub-queue queues the PO forfurther processing at block 364. At block 364, the sheet metal inventoryadjustment sub-queue processes the PO and adjusts sheet metal inventoryaccordingly.

Referring now FIG. 15, illustrated is a data structure defining variousaspects of a fabrication and distribution process, according to certainexample embodiments, denoted generally 400. The data structure 400provides a real-time snapshot of the fabrication and distributionprocess progress, supply chain supply and demand, various metrics, andcosts. The data structure 400 can include data associated with processesand controls of the fabrication and distribution of materials used inconstruction projects, e.g. metal, plumbing, and piping constructionprojects. The data structure includes a job number, a job work ordernumber, inventory line item(s), purchasing line item(s), fabricationcost line item(s), shipping cost line item(s), fabrication system lineitem(s), fabrication system(s) demand capacity line item(s),distribution system(s) line item(s), distribution system(s) demandcapacity line item(s), production metrics line item, queueidentification line item, and auxiliary data line item. The job numbercould be a system or systems number, e.g. system or system could be afabrication facility or facilities, and some of the line items, such assystem demand and capacity, could provide an overall or enterprise levelview of the facility or facilities. In addition, some of the line itemsmay be directly related to the job number and have no association withthe job work order number.

The work order number and inventory line item(s) data item defines acontrol number that can be associated to an inventory item related to afabrication product for a construction project. The inventory line itemor items can be used by the network services 16, ERP system 38, and thefabrication/distribution system to enable and facilitate reporting,auditing, accounting, fabrication, and distribution of an overallconstruction project. For example, a material item used in thefabrication of a drainage system or an HVAC system can be tracked forthe duration of the fabrication and distribution process and can bedefinitely linked to the fabricated product for reporting, auditing, andaccounting purposes. By providing this level of granular processcontrol, valuable information can be gleaned from a real-time andhistorical perspective.

The work order number and purchasing line item(s) data item definescontrol numbers that can be associated to a purchase order generatedduring a fabrication process. The purchase orders can be associated witha job number, inventory item(s) or services, an order date, a deliverydate, a fabricated product, and a fabrication system. The purchasingline item or items can be used by the network services 16, ERP system38, and the fabrication/distribution system to enable and facilitatereporting, auditing, accounting, fabrication, and distribution of anoverall construction project. For example, purchase orders issued andfulfilled during fabrication processes can provide historically valuabledata for auditing and reporting purposes.

The job work order number and fabrication cost line item(s) andfabrication labor costs line item(s) defines control numbers that can beassociated with the cost of a fabrication process and the labor costsassociated therewith. The control numbers can be linked to inventorymaterials costs, purchase orders, time entry data, and payroll data. Thecontrol numbers can be used by the network services 16, ERP system 38,and the fabrication/distribution system to enable and facilitatereporting, auditing, and accounting for a construction project. Thecontrol number can have an impact on a fabrication process in real-timeor provide historical data that can be used to better understand overalloperations and the trending of fabrication systems. For example,fabrication costs associated with a project can be monitored inreal-time and if pre-defined cost structures are exceeded, reports canbe generated and sent to the appropriate people. In addition, thematerials and labor costs can be evaluated over a historical time frameto better understand cost structures associated with a fabricationsystem.

The job work order number and distribution cost line item(s) anddistribution labor costs line item(s) define at least one control numberthat can be associated with the cost of a packaging and shipping costsas well as the labor costs associated therewith. The control numbers canbe linked to packing materials costs, vehicle fleet costs, time entrydata, and payroll data. The control numbers can be used by the networkservices 16, ERP system 38, and the fabrication/distribution system toenable and facilitate reporting, auditing, and accounting for aconstruction project. The control number can have an impact on thedistribution systems in real-time or provide historical data that can beused to better understand overall operations and the trending of thedistribution systems. For example, distribution costs associated with aproject can be monitored in real-time and if pre-defined cost structuresare exceeded, reports can be generated and sent to the appropriatepeople. In addition, the shipping and labor costs can be evaluated overa historical time frame to better understand cost structures associatedwith a distribution system.

The job work order number and fabrication system line item(s) and thefabrication system demand/capacity line item defines control numbersthat can be associated with a fabrication system and the capacity andcurrent demand of the system. The job number and distribution system anddistribution system demand and capacity line items defines controlnumber than can be associated with a distribution system and adistribution demand and capacity. The line items provide a systemidentifier, a capacity value of the system, and a current demand valueon the system. The values can be used to better determine how todistribute load of a project among fabrication and distribution systems.

The job work order number and production metrics line item define atleast one control number associated with a production metric. Eachproduction metric can define the amount of product being fabricated forthe associated job for a specified period of time and the utilizationpercentage of the total output capacity of a fabrication system orsystems. The job work order number and queue identification line itemcan be associated with a value that identifies where a product is in thefabrication or distribution process. The job work order number andauxiliary data line item defines at least one control number that can beassociated with data items for miscellaneous information.

An important component of the data structure 400 and the associatedalgorithms as discussed in reference to FIGS. 6-14 is that it canintegrate data from various entities and can be managed and controlledin a manner so that the fabrication and distribution processes can bedone cheaper, with less resources, and in less time. In other words, thesystems and methods described herein provides a more granular view ofthe fabrication and distribution process and finer control.

Referring now to FIG. 16-26, illustrated are various User Interfaces(UI) for displaying, accessing, and controlling data structure 500. TheUI's provide functional UI features that allow access to the datastructure 400 for viewing and manipulating the data structure 400 forauditing, accounting, reporting purposes as well as controlling thefabrication and distribution process. In reference to FIG. 16, a jobnumber or control number can be entered to retrieve associated workorders. As can be seen in FIG. 17, searching for a specific job numberresults in a set of control numbers associated with different work ordernumber being returned. The control numbers can be filtered and furthermanipulated. Selection of a control number can result in the generationand display of line items associated with a job number, see FIG. 18. Ascan be seen in FIG. 18-26, the line item data, as previously discussed,provided is an extensive view into the fabrication and distributionprocesses that can be quite useful in managing, controlling, andreporting on construction projects.

Referring now to FIG. 27, illustrated is a computing machine 500 and asystem applications module 600 in accordance with example embodiments.The computing machine 500 can correspond to any of the variouscomputers, mobile devices, laptop computers, servers, embedded systems,or computing systems presented herein. The module 600 can comprise oneor more hardware or software elements designed to facilitate thecomputing machine 500 in performing the various methods and processingfunctions presented herein. The computing machine 500 can includevarious internal or attached components such as a processor 510, systembus 520, system memory 530, storage media 540, input/output interface550, and a network interface 560 for communicating with a network 570,and an RFID scanner 580.

The computing machine 500 can be implemented as a conventional computersystem, an embedded controller, a laptop, a server, a mobile device, asmartphone, a wearable computer, a customized machine, any otherhardware platform, cloud computing, cloud services, SaaS models, or anycombination or multiplicity thereof. The computing machine 500 can be adistributed system configured to function using multiple computingmachines interconnected via a data network or bus system.

The processor 510 can be designed to execute code instructions in orderto perform the operations and functionality described herein, managerequest flow and address mappings, and to perform calculations andgenerate commands. The processor 410 can be configured to monitor andcontrol the operation of the components in the computing machine 500.The processor 510 can be a general purpose processor, a processor core,a multiprocessor, a reconfigurable processor, a microcontroller, adigital signal processor (“DSP”), an application specific integratedcircuit (“ASIC”), a controller, a state machine, gated logic, discretehardware components, any other processing unit, or any combination ormultiplicity thereof. The processor 510 can be a single processing unit,multiple processing units, a single processing core, multiple processingcores, special purpose processing cores, co-processors, or anycombination thereof. According to certain embodiments, the processor 510along with other components of the computing machine 500 can be avirtualized computing machine executing within one or more othercomputing machines.

The system memory 520 can include non-volatile memories such asread-only memory (“ROM”), programmable read-only memory (“PROM”),erasable programmable read-only memory (“EPROM”), flash memory, or anyother device capable of storing program instructions or data with orwithout applied power. The system memory 520 can also include volatilememories such as random access memory (“RAM”), static random accessmemory (“SRAM”), dynamic random access memory (“DRAM”), and synchronousdynamic random access memory (“SDRAM”). Other types of RAM also can beused to implement the system memory 520. The system memory 530 can beimplemented using a single memory module or multiple memory modules.While the system memory 530 is depicted as being part of the computingmachine 500, one skilled in the art will recognize that the systemmemory 530 can be separate from the computing machine 500 withoutdeparting from the scope of the subject technology. It should also beappreciated that the system memory 530 can include, or operate inconjunction with, a non-volatile storage device such as the storagemedia 540.

The storage media 540 can include a hard disk, a floppy disk, a compactdisc read-only memory (“CD-ROM”), a digital versatile disc (“DVD”), aBlu-ray disc, a magnetic tape, a flash memory, other non-volatile memorydevice, a solid state drive (“SSD”), any magnetic storage device, anyoptical storage device, any electrical storage device, any semiconductorstorage device, any physical-based storage device, any other datastorage device, or any combination or multiplicity thereof. The storagemedia 540 can store one or more operating systems, application programsand program modules such as module 500, data, or any other information.The storage media 540 can be part of, or connected to, the computingmachine 500. The storage media 540 can also be part of one or more othercomputing machines that are in communication with the computing machine500 such as servers, database servers, cloud storage, network attachedstorage, and so forth.

The system applications module 600 can comprise one or more hardware orsoftware elements configured to facilitate the computing machine 500with performing the various methods and processing functions presentedherein. The module 600 can include one or more sequences of instructionsstored as software or firmware in association with the system memory530, the storage media 540, or both. The storage media 540 can thereforerepresent examples of machine or computer readable media on whichinstructions or code can be stored for execution by the processor 510.Machine or computer readable media can generally refer to any medium ormedia used to provide instructions to the processor 510. Such machine orcomputer readable media associated with the module 600 can comprise acomputer software product. It should be appreciated that a computersoftware product comprising the module 600 can also be associated withone or more processes or methods for delivering the module 600 to thecomputing machine 500 via the network 570, any signal-bearing medium, orany other communication or delivery technology. The module 600 can alsocomprise hardware circuits or information for configuring hardwarecircuits such as microcode or configuration information for an FPGA orother PLD. In one exemplary embodiment, module 600 can include BRANDTwork flow order processing module that implements work flow processingalgorithms for communication processing, integration, and automation ofworkflow data with systems and processes presented herein.

The input/output (“I/O”) interface 550 can be configured to couple toone or more external devices, to receive data from the one or moreexternal devices, and to send data to the one or more external devices.Such external devices along with the various internal devices can alsobe known as peripheral devices. The I/O interface 550 can include bothelectrical and physical connections for coupling the various peripheraldevices to the computing machine 500 or the processor 510. The I/Ointerface 550 can be configured to communicate data, addresses, andcontrol signals between the peripheral devices, the computing machine500, or the processor 510. The I/O interface 550 can be configured toimplement any standard interface, such as small computer systeminterface (“SCSI”), serial-attached SCSI (“SAS”), fiber channel,peripheral component interconnect (“PCI”), PCI express (PCIe), serialbus, parallel bus, advanced technology attached (“ATA”), serial ATA(“SATA”), universal serial bus (“USB”), Thunderbolt, FireWire, variousvideo buses, and the like. The I/O interface 550 can be configured toimplement only one interface or bus technology. Alternatively, the I/Ointerface 550 can be configured to implement multiple interfaces or bustechnologies. The I/O interface 550 can be configured as part of, allof, or to operate in conjunction with, the system bus 520. The I/Ointerface 550 can include one or more buffers for bufferingtransmissions between one or more external devices, internal devices,the computing machine 500, or the processor 510.

The I/O interface 550 can couple the computing machine 500 to variousinput devices including mice, touch-screens, scanners, electronicdigitizers, sensors, receivers, touchpads, trackballs, cameras,microphones, keyboards, any other pointing devices, or any combinationsthereof. The I/O interface 550 can couple the computing machine 500 tovarious output devices including video displays, speakers, printers,projectors, tactile feedback devices, automation control, roboticcomponents, actuators, motors, fans, solenoids, valves, pumps,transmitters, signal emitters, lights, and so forth.

The computing machine 500 can operate in a networked environment usinglogical connections through the network interface 560 to one or moreother systems or computing machines across the network 570. The network570 can include wide area networks (WAN), local area networks (LAN),intranets, the Internet, wireless access networks, wired networks,mobile networks, telephone networks, optical networks, or combinationsthereof. The network 570 can be packet switched, circuit switched, ofany topology, and can use any communication protocol. Communicationlinks within the network 570 can involve various digital or an analogcommunication media such as fiber optic cables, free-space optics,waveguides, electrical conductors, wireless links, antennas,radio-frequency communications, and so forth.

The processor 510 can be connected to the other elements of thecomputing machine 500 or the various peripherals discussed hereinthrough the system bus 520. It should be appreciated that the system bus520 can be within the processor 510, outside the processor 510, or both.According to some embodiments, any of the processor 510, the otherelements of the computing machine 500, or the various peripheralsdiscussed herein can be integrated into a single device such as a systemon chip (“SOC”), system on package (“SOP”), or ASIC device.

Embodiments may comprise a computer program that embodies the functionsdescribed and illustrated herein, wherein the computer program isimplemented in a computer system that comprises instructions stored in amachine-readable medium and a processor that executes the instructions.However, it should be apparent that there could be many different waysof implementing embodiments in computer programming, and the embodimentsshould not be construed as limited to any one set of computer programinstructions unless otherwise disclosed for an exemplary embodiment.Further, a skilled programmer would be able to write such a computerprogram to implement an embodiment of the disclosed embodiments based onthe appended flow charts, algorithms and associated description in theapplication text. Therefore, disclosure of a particular set of programcode instructions is not considered necessary for an adequateunderstanding of how to make and use embodiments. Further, those skilledin the art will appreciate that one or more aspects of embodimentsdescribed herein may be performed by hardware, software, or acombination thereof, as may be embodied in one or more computingsystems. Moreover, any reference to an act being performed by a computershould not be construed as being performed by a single computer as morethan one computer may perform the act.

The example embodiments described herein can be used with computerhardware and software that perform the methods and processing functionsdescribed previously. The systems, methods, and procedures describedherein can be embodied in a programmable computer, computer-executablesoftware, or digital circuitry. The software can be stored oncomputer-readable media. For example, computer-readable media caninclude a floppy disk, RAM, ROM, hard disk, removable media, flashmemory, memory stick, optical media, magneto-optical media, CD-ROM, etc.Digital circuitry can include integrated circuits, gate arrays, buildingblock logic, field programmable gate arrays (FPGA), etc.

The example systems, methods, and acts described in the embodimentspresented previously are illustrative, and, in alternative embodiments,certain acts can be performed in a different order, in parallel with oneanother, omitted entirely, and/or combined between different exampleembodiments, and/or certain additional acts can be performed, withoutdeparting from the scope and spirit of various embodiments. Accordingly,such alternative embodiments are included in the description herein.

As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof. As used herein, the term “and/or”includes any and all combinations of one or more of the associatedlisted items. As used herein, phrases such as “between X and Y” and“between about X and Y” should be interpreted to include X and Y. Asused herein, phrases such as “between about X and Y” mean “between aboutX and about Y.” As used herein, phrases such as “from about X to Y” mean“from about X to about Y.”

As used herein, “hardware” can include a combination of discretecomponents, an integrated circuit, an application-specific integratedcircuit, a field programmable gate array, or other suitable hardware. Asused herein, “software” can include one or more objects, agents,threads, lines of code, subroutines, separate software applications, twoor more lines of code or other suitable software structures operating intwo or more software applications, on one or more processors (where aprocessor includes one or more microcomputers or other suitable dataprocessing units, memory devices, input-output devices, displays, datainput devices such as a keyboard or a mouse, peripherals such asprinters and speakers, associated drivers, control cards, power sources,network devices, docking station devices, or other suitable devicesoperating under control of software systems in conjunction with theprocessor or other devices), or other suitable software structures. Inone exemplary embodiment, software can include one or more lines of codeor other suitable software structures operating in a general purposesoftware application, such as an operating system, and one or more linesof code or other suitable software structures operating in a specificpurpose software application. As used herein, the term “couple” and itscognate terms, such as “couples” and “coupled,” can include a physicalconnection (such as a copper conductor), a virtual connection (such asthrough randomly assigned memory locations of a data memory device), alogical connection (such as through logical gates of a semiconductingdevice), other suitable connections, or a suitable combination of suchconnections. The term “data” can refer to a suitable structure forusing, conveying or storing data, such as a data field, a data buffer, adata message having the data value and sender/receiver address data, acontrol message having the data value and one or more operators thatcause the receiving system or component to perform a function using thedata, or other suitable hardware or software components for theelectronic processing of data.

In general, a software system is a system that operates on a processorto perform predetermined functions in response to predetermined datafields. For example, a system can be defined by the function it performsand the data fields that it performs the function on. As used herein, aNAME system, where NAME is typically the name of the general functionthat is performed by the system, refers to a software system that isconfigured to operate on a processor and to perform the disclosedfunction on the disclosed data fields. Unless a specific algorithm isdisclosed, then any suitable algorithm that would be known to one ofskill in the art for performing the function using the associated datafields is contemplated as falling within the scope of the disclosure.For example, a message system that generates a message that includes asender address field, a recipient address field and a message fieldwould encompass software operating on a processor that can obtain thesender address field, recipient address field and message field from asuitable system or device of the processor, such as a buffer device orbuffer system, can assemble the sender address field, recipient addressfield and message field into a suitable electronic message format (suchas an electronic mail message, a TCP/IP message or any other suitablemessage format that has a sender address field, a recipient addressfield and message field), and can transmit the electronic message usingelectronic messaging systems and devices of the processor over acommunications medium, such as a network. One of ordinary skill in theart would be able to provide the specific coding for a specificapplication based on the foregoing disclosure, which is intended to setforth exemplary embodiments of the present disclosure, and not toprovide a tutorial for someone having less than ordinary skill in theart, such as someone who is unfamiliar with programming or processors ina suitable programming language. A specific algorithm for performing afunction can be provided in a flow chart form or in other suitableformats, where the data fields and associated functions can be set forthin an exemplary order of operations, where the order can be rearrangedas suitable and is not intended to be limiting unless explicitly statedto be limiting.

Although specific embodiments have been described above in detail, thedescription is merely for purposes of illustration. It should beappreciated, therefore, that many aspects described above are notintended as required or essential elements unless explicitly statedotherwise. Modifications of, and equivalent components or actscorresponding to, the disclosed aspects of the example embodiments, inaddition to those described above, can be made by a person of ordinaryskill in the art, having the benefit of the present disclosure, withoutdeparting from the spirit and scope of embodiments defined in thefollowing claims, the scope of which is to be accorded the broadestinterpretation so as to encompass such modifications and equivalentstructures.

1-20. (canceled)
 21. A system comprising: a storage resource; and aprocessor communicatively coupled to the storage resource, wherein theprocessor is configured to execute application code instructions storedin the storage resource to cause the system to: receive predeterminedorder workflow system database fields; receive predetermined buildinginformation management (BIM) database fields; receive predeterminedenterprise resource planning (ERP) database fields; and standardize thepredetermined order workflow system database (OWSD) fields, thepredetermined building information management database (BIMD) fields andthe predetermined enterprise resource planning database (ERPD) fieldsusing data structures from one or more standards.
 22. The system ofclaim 21 wherein the standards comprise one or more of a MechanicalContractors Association of America/Sheet Metal standard, an AirConditioning Contractors' National Association standard and a NationalElectrical Contractors Association standard.
 23. The system of claim 21wherein the OWSD fields, the BIMD fields and the ERPD fields arestandardized using an approval sub-queue process.
 24. The system ofclaim 21 further comprising receiving a selection of a job number, workorder number, and a delivery date at an order workflow system using thestandardized fields from the OWSD fields, the BIMD fields and the ERPDfields.
 25. The system of claim 21 further comprising generatingselectable line items for a BIM interface module based on the work ordernumber and the standardized fields from the OWSD fields, the BIMD fieldsand the ERPD fields.
 26. The system of claim 21 further comprisingprocessing selected line items associated with the work order type usingthe standardized fields from the OWSD fields, the BIMD fields and theERPD fields.
 27. The system of claim 26 further comprising generating inresponse to the processed selected line items an order workflow, at anorder queue process using the standardized fields from the OWSD fields,the BIMD fields and the ERPD fields.
 28. The system of claim 21 furthercomprising interfacing with a BIM database to identify the selected lineitems, at a spooling sub-queue process to determine if the order isapproved for release or requires approval.
 29. The system of claim 28further comprising submitting the selected line items that requireapproval to an associated approval queue for drawing creation.
 30. Thesystem of claim 29 further comprising generating, in response, a controlnumber for each line item.
 31. The system of claim 29 further comprisinginterfacing information associated with selected line items with an ERPmodule.
 32. A method comprising: receiving predetermined order workflowsystem database fields at a processor that is communicatively coupled toa storage resource, wherein the processor is configured to executeapplication code instructions stored in the storage resource; receivingpredetermined building information management (BIM) database fields atthe processor; receiving predetermined enterprise resource planning(ERP) database fields at the processor; and standardizing thepredetermined order workflow system database (OWSD) fields, thepredetermined building information management database (BIMD) fields andthe predetermined enterprise resource planning database (ERPD) fieldsusing one or more standards and the processor.
 33. The method of claim32 wherein the standards comprise one or more of a MechanicalContractors Association of America/Sheet Metal standard, an AirConditioning Contractors' National Association standard and a NationalElectrical Contractors Association standard.
 34. The method of claim 32wherein the OWSD fields, the BIMD fields and the ERPD fields arestandardized using an approval sub-queue process.
 35. The method ofclaim 32 further comprising receiving a selection of a job number, workorder number, and a delivery date at an order workflow system using thestandardized fields from the OWSD fields, the BIMD fields and the ERPDfields.
 36. The method of claim 32 further comprising generatingselectable line items for a BIM interface module based on the work ordernumber and the standardized fields from the OWSD fields, the BIMD fieldsand the ERPD fields.
 37. The method of claim 32 further comprisingprocessing selected line items associated with the work order type usingthe standardized fields from the OWSD fields, the BIMD fields and theERPD fields.
 38. The method of claim 37 further comprising generating inresponse to the processed selected line items an order workflow, at anorder queue process using the standardized fields from the OWSD fields,the BIMD fields and the ERPD fields.
 39. The method of claim 32 furthercomprising interfacing with a BIM database to identify the selected lineitems, at a spooling sub-queue process to determine if the order isapproved for release or requires approval.
 40. The method of claim 39further comprising submitting the selected line items that requireapproval to an associated approval queue for drawing creation.